- can_admin_entity = protected_branch_can_admin_entity?(protected_branch_entity)
- url = protected_branch_path_by_entity(protected_branch, protected_branch_entity)
- protected_branch_test_type = protected_branch.project_level? ? 'project-level' : 'group-level'

%tr.js-protected-branch-edit-form{ data: { url: url, testid: 'protected-branch', test_type: protected_branch_test_type } }
  %td{ class: 'gl-vertical-align-middle!', data: { label: s_("ProtectedBranch|Branch") } }
    %div
      %span.ref-name= protected_branch.name

      - if protected_branch.project_level?
        - if protected_branch_entity.root_ref?(protected_branch.name)
          = gl_badge_tag s_('ProtectedBranch|default'), variant: :info

        - if protected_branch.wildcard?
          - matching_branches = protected_branch.matching(repository.branch_names)
          = link_to pluralize(matching_branches.count, "matching branch"), namespace_project_protected_branch_path(@project.namespace, @project, protected_branch)
        - elsif !protected_branch.commit
          %span.text-muted= s_('ProtectedBranch|Branch does not exist.')

  = yield

  = render_if_exists 'protected_branches/ee/code_owner_approval_table', can_update: local_assigns[:can_update], protected_branch: protected_branch, protected_branch_entity: protected_branch_entity

  - if can_admin_entity
    %td.text-right{ data: { label: _('Actions'), testid: 'protected-branch-action' } }
      - if local_assigns[:is_inherited]
        %span.has-tooltip{ data: { container: 'body' }, title: s_('ProtectedBranch|Inherited - This setting can be changed at the group level'), 'aria-hidden': 'true' }
          = sprite_icon 'lock'
      - else
        = link_button_to s_('ProtectedBranch|Unprotect'), [protected_branch_entity, protected_branch, { update_section: 'js-protected-branches-settings' }], disabled: local_assigns[:disabled], aria: { label: s_('ProtectedBranch|Unprotect branch') }, data: { confirm: s_('ProtectedBranch|Branch will be writable for developers. Are you sure?'), confirm_btn_variant: 'danger' }, method: :delete, variant: :danger, category: :secondary, size: :small
